package org.textediting;


/**
 * @author: 默苍璃
 * @date: 2023-04-12 11:18
 */
public class Text {

    /**
     * 由字符序列组成的串
     */
    public String contents;

    /**
     * 文本的总长度
     */
    public int length;

    /**
     * 页数
     */
    public int pages;

    /**
     * 自然段总数
     */
    public int paras;

    /**
     * 页表，是一个单向链表
     */
    public Page pageTable;

    /**
     * 自然段表，是一个单向链表
     */
    public Paragraph paraTable;

    /**
     * 当前页的编号
     */
    public int currentPage;

    /**
     * 当前自然段的编号
     */
    public int currentPara;

    /**
     * 当前字符在串中的编号
     */
    public int current;

    /**
     * 每页的字符行数
     */
    public int rowsPerPage;

    /**
     * 每行的字符数
     */
    public int colsPerRow;

    /**
     * 创建一个最多能保存maxSize个字符的空白文本
     *
     * @param maxSize
     */
    public Text(int maxSize) {
        contents = new String(String.valueOf(maxSize));
        length = contents.length();
        pages = 0;
        paras = 0;
        rowsPerPage = 45;
        //设置默认页面大小=45行×40列
        colsPerRow = 40;
        currentPage = 0;
        currentPara = 0;
        current = 0;
        //在页表中增加第一个结点，表示第一页
        pageTable = new Page(0, 0);
        //在段表中增加第一个结点，表示第一段
        paraTable = new Paragraph(0, 0, 0);
    }

}